'    Copyright 2008 Jan Molnar <jan.molnar@abds.de>
'
'    This file is part of JCQ.

'    JCQ is free software: you can redistribute it and/or modify
'    it under the terms of the GNU General Public License as published by
'    the Free Software Foundation, either version 2 of the License, or
'    (at your option) any later version.

'    JCQ is distributed in the hope that it will be useful,
'    but WITHOUT ANY WARRANTY; without even the implied warranty of
'    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'    GNU General Public License for more details.

'    You should have received a copy of the GNU General Public License
'    along with JCQ. If not, see <http://www.gnu.org/licenses/>.

Option Infer On

Public Class Snac1003
    Inherits Snac

    Public Sub New()
        MyBase.New(&H10, &H3)
    End Sub

    Public Overrides Function CalculateDataSize() As Integer
        Throw New NotImplementedException
    End Function

    Public Overrides Function Serialize() As System.Collections.Generic.List(Of Byte)
        Throw New NotImplementedException
    End Function

    Private _IconHash As New List(Of Byte)(16)
    Public ReadOnly Property IconHash() As List(Of Byte)
        Get
            Return _IconHash
        End Get
    End Property

    Public Overrides Sub Deserialize(ByVal data As System.Collections.Generic.List(Of Byte))
        MyBase.Deserialize(data)

        '00 00	 	word	 	unknown field(s)
        '01 01	 	word	 	unknown field(s)
        '10	 	byte	 	size of the icon md5 checksum
        'xx ..	 	array	 	icon md5 checksum

        Dim index = SizeFixPart

        Dim hashLenght As Byte
        
        index += 2 ' unknown field #1
        index += 2 ' unknown field #2

        hashLenght = data(index)
        index += 1

        _IconHash.AddRange(data.GetRange(index, hashLenght))
        index += hashLenght

        SetTotalSize(index)
    End Sub
End Class
